/*
 * Copyright (c) 2014. Lorem ipsum dolor sit amet, consectetur adipiscing elit.
 * http://www.apache.org/licenses/LICENSE-2.0
 */

package com.dc.gameserver.serverCore.model.gamemodel;

/**
 * @author 石头哥哥
 *         Date: 13-11-29</br>
 *         Time: 下午2:31</br>
 *         Package: com.dc.gameserver.serverCore.model.Gamemodel</br>
 *         注解：     秘籍model
 */
public class BookModel implements Model,Comparable<BookModel>{

    private Integer ID=0; //物品ID
    private Integer iconID=0; //  图标ID
    private Integer skillID=0;//技能编号
    private String name;// 名字
    private String  intro; //   描述
    private Integer type=0;     //  部位/类型
    private Integer quality=0; //     品质
    private Integer subQuality=0;   //  品阶
    private Integer  realmRequired=0;  //   境界需求值
    private Integer  nextRealmEquipID=0;  //升级禁制后物品ID
    private Integer  upgradeLevelMax=0;    //    最大强化等级
    private Integer  suplySubQualityExp=0;    //   提供品阶升级经验
    private Boolean showInBag=false;    //     是否显示在背包
    private Integer  element=0;        //  五行属性     决定人物的五行属性

    private Integer effectType1=0;   //     效果类型1
    private Double effectNum1=0.0; //         效果数值1
    private Double effectNumGrowUp1=0.0;     //   效果数值成长值1
    private Double   effectPercent1=0.0;    //   效果百分比1
    private Double   effectPercentGrowUp1=0.0;     //     效果百分比成长值1


    private Integer effectType2;       //      效果类型2
    private Double  effectNum2;       //  效果数值2
    private Double effectNumGrowUp2;     //   效果数值成长值2
    private Double  effectPercent2;     //  效果百分比2
    private Double effectPercentGrowUp2;     //  效果百分比成长值2


    private Integer effectType3;   //  效果类型3
    private Double effectNum3;    //    效果数值3
    private Double  effectNumGrowUp3;   //  效果数值成长值3
    private Double effectPercent3;    //   效果百分比3
    private Double effectPercentGrowUp3;  //  效果百分比成长值3
    private Integer price;             //    售价
    private Byte itemType;//道具类型 temType:1 装备 2.秘籍 3.道具
    private Integer groupID;//套装组编号

    public Integer getGroupID() {
        return groupID;
    }

    public void setGroupID(Integer groupID) {
        this.groupID = groupID;
    }

    public Double getEffectPercent3() {
        return effectPercent3;
    }

    public void setEffectPercent3(Double effectPercent3) {
        this.effectPercent3 = effectPercent3;
    }

    public Double getEffectNum1() {
        return effectNum1;
    }

    public void setEffectNum1(Double effectNum1) {
        this.effectNum1 = effectNum1;
    }

    public Double getEffectNumGrowUp1() {
        return effectNumGrowUp1;
    }

    public void setEffectNumGrowUp1(Double effectNumGrowUp1) {
        this.effectNumGrowUp1 = effectNumGrowUp1;
    }

    public Double getEffectPercent1() {
        return effectPercent1;
    }

    public void setEffectPercent1(Double effectPercent1) {
        this.effectPercent1 = effectPercent1;
    }

    public Double getEffectPercentGrowUp1() {
        return effectPercentGrowUp1;
    }

    public void setEffectPercentGrowUp1(Double effectPercentGrowUp1) {
        this.effectPercentGrowUp1 = effectPercentGrowUp1;
    }

    public Double getEffectNum2() {
        return effectNum2;
    }

    public void setEffectNum2(Double effectNum2) {
        this.effectNum2 = effectNum2;
    }

    public Double getEffectNumGrowUp2() {
        return effectNumGrowUp2;
    }

    public void setEffectNumGrowUp2(Double effectNumGrowUp2) {
        this.effectNumGrowUp2 = effectNumGrowUp2;
    }

    public Double getEffectPercent2() {
        return effectPercent2;
    }

    public void setEffectPercent2(Double effectPercent2) {
        this.effectPercent2 = effectPercent2;
    }

    public Double getEffectPercentGrowUp2() {
        return effectPercentGrowUp2;
    }

    public void setEffectPercentGrowUp2(Double effectPercentGrowUp2) {
        this.effectPercentGrowUp2 = effectPercentGrowUp2;
    }

    public Double getEffectNum3() {
        return effectNum3;
    }

    public void setEffectNum3(Double effectNum3) {
        this.effectNum3 = effectNum3;
    }

    public Double getEffectNumGrowUp3() {
        return effectNumGrowUp3;
    }

    public void setEffectNumGrowUp3(Double effectNumGrowUp3) {
        this.effectNumGrowUp3 = effectNumGrowUp3;
    }


    public Double getEffectPercentGrowUp3() {
        return effectPercentGrowUp3;
    }

    public void setEffectPercentGrowUp3(Double effectPercentGrowUp3) {
        this.effectPercentGrowUp3 = effectPercentGrowUp3;
    }

    public Byte getItemType() {
        return itemType;
    }

    public void setItemType(Byte itemType) {
        this.itemType = itemType;
    }

    public Integer getSkillID() {
        return skillID;
    }

    public void setSkillID(Integer skillID) {
        this.skillID = skillID;
    }

    public Integer getIconID() {
        return iconID;
    }

    public void setIconID(Integer iconID) {
        this.iconID = iconID;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getIntro() {
        return intro;
    }

    public void setIntro(String intro) {
        this.intro = intro;
    }

    public Integer getType() {
        return type;
    }

    public void setType(Integer type) {
        this.type = type;
    }

    public Integer getQuality() {
        return quality;
    }

    public void setQuality(Integer quality) {
        this.quality = quality;
    }

    public Integer getSubQuality() {
        return subQuality;
    }

    public void setSubQuality(Integer subQuality) {
        this.subQuality = subQuality;
    }

    public Integer getRealmRequired() {
        return realmRequired;
    }

    public void setRealmRequired(Integer realmRequired) {
        this.realmRequired = realmRequired;
    }

    public Integer getNextRealmEquipID() {
        return nextRealmEquipID;
    }

    public void setNextRealmEquipID(Integer nextRealmEquipID) {
        this.nextRealmEquipID = nextRealmEquipID;
    }

    public Integer getUpgradeLevelMax() {
        return upgradeLevelMax;
    }

    public void setUpgradeLevelMax(Integer upgradeLevelMax) {
        this.upgradeLevelMax = upgradeLevelMax;
    }

    public Integer getSuplySubQualityExp() {
        return suplySubQualityExp;
    }

    public void setSuplySubQualityExp(Integer suplySubQualityExp) {
        this.suplySubQualityExp = suplySubQualityExp;
    }

    public Boolean getShowInBag() {
        return showInBag;
    }

    public void setShowInBag(Boolean showInBag) {
        this.showInBag = showInBag;
    }

    public Integer getElement() {
        return element;
    }

    public void setElement(Integer element) {
        this.element = element;
    }

    public Integer getEffectType1() {
        return effectType1;
    }

    public void setEffectType1(Integer effectType1) {
        this.effectType1 = effectType1;
    }


    public Integer getEffectType2() {
        return effectType2;
    }

    public void setEffectType2(Integer effectType2) {
        this.effectType2 = effectType2;
    }


    public Integer getEffectType3() {
        return effectType3;
    }

    public void setEffectType3(Integer effectType3) {
        this.effectType3 = effectType3;
    }



    public Integer getPrice() {
        return price;
    }

    public void setPrice(Integer price) {
        this.price = price;
    }

    public void setID(Integer ID) {
        this.ID = ID;
    }

    /**
     * @return
     */
    @Override
    public Integer getId() {
        return this.ID;
    }


    @Override
    public int compareTo(BookModel o) {
        int temp=this.getGroupID()-o.getGroupID();
        if (temp>0){
            return 1;
        }else if (temp==0){
            return 0;
        }else {
            return -1;
        }
    }


}
